package com.ideal.frame.common.enumerate;

import com.ideal.frame.entity.BaseCode;

/**
 * 平台类型和对应的数据类型
 * 参见 各机构向顶级sftp服务器同步xml文件对接说明-v1.1.7.pdf
 * 2.2. 数据类型
 */
public class PlatformTypeEnums {

    /**
     * 根节点
     */
    public enum ROOT implements BaseCode {
        RRMD01("RRMD01","统计类数据"),
        RRMD02("RRMD02","实时类数据");

        public static final String THIS_VALUE = "ROOT";
        private String code;
        private String message;

        ROOT(String code, String message) {
            this.code = code;
            this.message = message;
        }

        @Override
        public String getCode() {
            return this.code;
        }

        @Override
        public String getMessage() {
            return this.message;
        }
    }

    /**
     * 注册管理机构
     *
     */
    public enum ZM implements BaseCode {
        SMP("SMP","注册服务机构主体数据");

        public static final String THIS_VALUE = "ZM";
        private String code;
        private String message;

        ZM(String code, String message) {
            this.code = code;
            this.message = message;
        }

        @Override
        public String getCode() {
            return this.code;
        }

        @Override
        public String getMessage() {
            return this.message;
        }
    }

    /**
     * 企业节点
     */
    public enum ENT implements BaseCode {
        ERMD01("ERMD01","监测数据统计类数据"),
        ERMD02("ERMD02","监测数据实时类数据");

        public static final String THIS_VALUE = "ENT";
        private String code;
        private String message;

        ENT(String code, String message) {
            this.code = code;
            this.message = message;
        }

        @Override
        public String getCode() {
            return this.code;
        }

        @Override
        public String getMessage() {
            return this.message;
        }
    }

    /**
     * 注册服务机构
     */
    public enum ZS implements BaseCode {
        SST("SST","注册服务机构自身统计数据"),
        SMD("SMD","注册服务机构元数据"),
        SRMD01("SRMD01","注册服务机构运行监测数据统计类数据"),
        SRMD02("SRMD02","注册服务机构运行监测数据实时类数据"),
        SEMP("SEMP","下属企业节点主体数据"),
        SEAL("SEAL","下属企业节点解析路由数据"),
        SEST("SEST","下属企业节点统计数据"),
        SEMD("SEMD","下属企业节点主数据"),
        SEBD("SEBD","下属企业节点标识业务数据"),
        SEMED("SEMED","下属企业节点元数据"),
        SERMD01("SERMD01","下属企业节点运行监测数据统计类数据"),
        SERMD02("SERMD02","下属企业节点运行监测数据实时类数据");

        public static final String THIS_VALUE = "ZS";
        private String code;
        private String message;

        ZS(String code, String message) {
            this.code = code;
            this.message = message;
        }

        @Override
        public String getCode() {
            return this.code;
        }

        @Override
        public String getMessage() {
            return this.message;
        }
    }

}
